package com.controller;

import com.pojo.User;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import java.util.ArrayList;
import java.util.List;

@RestController
@RequestMapping("/resp/params")
public class ResponseController {

    /**
     * 三种相应方法：请求转发、重定向、以流的形式写回text/json
     *
     * @ResponseBody
     * 1、将处理器方法的返回值，以流的形式写回给客户端(写回text文本数据)
     * 2、将处理器方法的返回值、转成json字符串，并以流的形式写回客户端(写回JSON格式)
     *  a.导入Jackson的依赖
     *  b.在SpringMVC的核心配置类上开启JSON支持
     */
    @RequestMapping("/handler01")
    @ResponseBody
    public String handler01(){
        return "success";
    }

    @RequestMapping("/handler02")
    @ResponseBody
    public User handler02(){
        User user = new User("tom", 20);
        return user;
    }

    @RequestMapping("/handler03")
    @ResponseBody
    public List<User> handler03(){
        List<User> list = new ArrayList<User>();
        list.add(new User("汤姆",18));
        list.add(new User("肉丝",20));
        list.add(new User("王五",30));
        return list;
    }
}
